#include "config.h"
#include <myHeader.h>
#include <string.h>
#define MAX_LEN 128
int getParaMeterHelper(char *key,char *value){                                  
    FILE *pConfigFile=fopen("config.ini","r");
    ERROR_CHECK(pConfigFile,NULL,"ConfigFile open");

    char line[4096];
    char *lineKey=NULL;
    char *lineVal=NULL;
    while(1){
        memset(line,0,sizeof(line));

        char *res=fgets(line,sizeof(line),pConfigFile);
        if(!res){
            return -1;
        }
        line[strcspn(line, "\n")] = '\0';
        char *savePtr=NULL;
        lineKey=strtok_r(line,"=",&savePtr);
        if(!strcmp(lineKey,key)){
            lineVal=strtok_r(NULL,"=",&savePtr);
            memcpy(value,lineVal,strlen(lineVal));
            return 0;
        }
    }
}
//int getParaMeterHelper(const char *key, char *value){
//    FILE *pConfigFile = fopen("config.ini", "r");
//    ERROR_CHECK(pConfigFile, NULL, "ConfigFile open");
//
//    char line[4096];
//    char *lineKey = NULL;
//    char *lineVal = NULL;
//    printf("开始取参数\n");
//    int i=0;
//    while (fgets(line, sizeof(line), pConfigFile)) {
//        printf("%d次取\n",i);
//        printf("line==%s\n",line);
//        char *savePtr = NULL;
//        lineKey = strtok_r(line, "=\n", &savePtr);
//        if (lineKey && strcmp(lineKey, key) == 0) {
//            lineVal = strtok_r(NULL, "=\n", &savePtr);
//            if (lineVal) {
//                strncpy(value, lineVal, MAX_LEN - 1);  // 假设 value 长度为 MAX_LEN
//                value[MAX_LEN - 1] = '\0';
//                fclose(pConfigFile);
//                return 0;
//            }
//        }
//    }
//
//    /* fclose(pConfigFile); */
//    /* fprintf(stderr, "配置项未找到: %s\n", key); */
//    /* return -1; */
//}


int getParaMeter(configUsrInfo_t *pConfigFile){
   getParaMeterHelper("addr",pConfigFile->addr);
   getParaMeterHelper("port",pConfigFile->port);
   getParaMeterHelper("MySQLUsrName",pConfigFile->MySQLUsrName);
   getParaMeterHelper("MySQLPasswd",pConfigFile->MySQLPasswd);
   getParaMeterHelper("workerNum",pConfigFile->workerNum);
   return 0;
}

